package com.neko.Thread_Learning;

/**
 * 4、
 *  模拟 多个人 买 火车票的例子
 *
 * 多个 Thread 同时 操作 同一个对象
 * */
public class t4_implements_Runnable implements Runnable {

    // 票数
    private int ticketNums = 10;

    @Override
    public void run() {

        while (true) {
            if (ticketNums <= 0) {
                break;
            }

            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            System.out.println(Thread.currentThread().getName() + "-->拿到了第 " + ticketNums-- + " 张 票");
        }
    }


    /**
     * Main
     * */
    public static void main(String[] args) {

        t4_implements_Runnable thread = new t4_implements_Runnable();

        /**
         * 模拟【多个线程】抢【同一个资源】问题
         * */
        new Thread(thread, "小明").start();
        new Thread(thread, "老师").start();
        new Thread(thread, "黄牛党").start();


    }


}
